package top.api.service;

import top.api.common.ResponseResult;
import top.api.domain.dto.UserAddDto;
import top.api.domain.dto.UserUpdateDto;
import top.api.domain.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
* @author 27465
* @description 针对表【sys_user(用户表)】的数据库操作Service
* @createDate 2023-01-29 17:43:43
*/
public interface UserService extends IService<User> {

    /**
     * 获取用户信息
     * @return
     */
    ResponseResult userInfo();

    /**
     * 修改用户信息
     * @param user
     * @return
     */
    ResponseResult updateUserInfo(User user);

    /**
     * 注册
     * @param user
     * @return
     */
    ResponseResult register(User user);

    /**
     * admin 查询用户列表
     * @param pageNum
     * @param pageSize
     * @param userName
     * @param phonenumber
     * @return
     */
    ResponseResult getUserList(Integer pageNum, Integer pageSize, String userName, String phonenumber,String status);

    /**
     * admin 添加用户并绑定角色
     * @param userAddDto
     * @return
     */
    ResponseResult addUser(UserAddDto userAddDto);

    /**
     * 批量删除用户
     * @param ids
     * @return
     */
    ResponseResult deleteUsers(List<Long> ids);

    /**
     * 用户信息回显
     * @param id
     * @return
     */
    ResponseResult getUserInfo(Long id);

    /**
     * admin 修改用户
     * @param userAddDto
     * @return
     */
    ResponseResult AdminUpdateUserInfo(UserUpdateDto userUpdateDto);
}
